package cn.fl.product.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.product.vo.SplBiApplyFlowRlVO;
import fl.spl.facade.spl.dto.SplBiApplyFlowRlDTO;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 供应商基础信息变更申请业务数据与流程权限关系表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class SplBiApplyFlowRlVOTransform {


	/**
	 * DTO 转  VO
	 * @param po SplBiApplyFlowRlDTO
	 * @return SplBiApplyFlowRlVO
	 */
	public static SplBiApplyFlowRlVO toVO(SplBiApplyFlowRlDTO dto) {
		SplBiApplyFlowRlVO  vo = null;
		if (dto != null) { 
			vo = new SplBiApplyFlowRlVO();
			vo.setId(dto.getId());
			vo.setSplApplyId(dto.getSplApplyId());//供应商申请ID
			vo.setSysBizFlowRlId(dto.getSysBizFlowRlId());//业务数据与流程权限关系ID
			vo.setDataId(dto.getDataId());//业务数据ID
			vo.setTabNmB(dto.getTabNmB());//流程业务分类-变更前
			vo.setTabNm(dto.getTabNm());//流程业务分类-变更后
			vo.setPDefKeyB(dto.getPDefKeyB());//流程定义KEY-变更前
			vo.setPDefKey(dto.getPDefKey());//流程定义KEY-变更后
			vo.setFlowNumB(dto.getFlowNumB());//数量-变更前
			vo.setFlowNum(dto.getFlowNum());//数量-变更后
			vo.setFlowSplMainId(dto.getFlowSplMainId());//FLOW_SPL_MAIN_ID
			vo.setIsDelB(dto.getIsDelB());//是否删除-变更前
			vo.setIsDel(dto.getIsDel());//是否删除-变更后（1：是，0：否）（SYS0021）
			vo.setCrtTmB(dto.getCrtTmB());//创建时间-变更前
			vo.setCrtUsrIdB(dto.getCrtUsrIdB());//创建者-变更前
			vo.setMdfTmB(dto.getMdfTmB());//修改时间-变更前
			vo.setMdfUsrIdB(dto.getMdfUsrIdB());//修改者-变更前
			vo.setExpireUncardNum(dto.getExpireUncardNum());//超期未上牌数量-变更后
			vo.setExpireUncardNumB(dto.getExpireUncardNumB());//超期未上牌数量-变更前

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto SplBiApplyFlowRlVO
	 * @return SplBiApplyFlowRlDTO
	 */
	public static SplBiApplyFlowRlDTO toDTO(SplBiApplyFlowRlVO vo) {
		SplBiApplyFlowRlDTO dto = null;
		if (vo != null) {
			dto = new SplBiApplyFlowRlDTO();
			dto.setId(vo.getId());
			dto.setSplApplyId(vo.getSplApplyId());//供应商申请ID
			dto.setSysBizFlowRlId(vo.getSysBizFlowRlId());//业务数据与流程权限关系ID
			dto.setDataId(vo.getDataId());//业务数据ID
			dto.setTabNmB(vo.getTabNmB());//流程业务分类-变更前
			dto.setTabNm(vo.getTabNm());//流程业务分类-变更后
			dto.setPDefKeyB(vo.getPDefKeyB());//流程定义KEY-变更前
			dto.setPDefKey(vo.getPDefKey());//流程定义KEY-变更后
			dto.setFlowNumB(vo.getFlowNumB());//数量-变更前
			dto.setFlowNum(vo.getFlowNum());//数量-变更后
			dto.setFlowSplMainId(vo.getFlowSplMainId());//FLOW_SPL_MAIN_ID
			dto.setIsDelB(vo.getIsDelB());//是否删除-变更前
			dto.setIsDel(vo.getIsDel());//是否删除-变更后（1：是，0：否）（SYS0021）
			dto.setCrtTmB(vo.getCrtTmB());//创建时间-变更前
			dto.setCrtUsrIdB(vo.getCrtUsrIdB());//创建者-变更前
			dto.setMdfTmB(vo.getMdfTmB());//修改时间-变更前
			dto.setMdfUsrIdB(vo.getMdfUsrIdB());//修改者-变更前
			dto.setExpireUncardNum(vo.getExpireUncardNum());//超期未上牌数量-变更后
			dto.setExpireUncardNumB(vo.getExpireUncardNumB());//超期未上牌数量-变更前

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list<SplBiApplyFlowRlDTO>
	 * @return List<SplBiApplyFlowRlVO>
	 */
	public static List<SplBiApplyFlowRlVO> toVOList(List<SplBiApplyFlowRlDTO> list) {
		List<SplBiApplyFlowRlVO>  voList = new ArrayList<SplBiApplyFlowRlVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SplBiApplyFlowRlDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<SplBiApplyFlowRlVO>
	 * @return List<SplBiApplyFlowRlDTO>
	 */
	public static List<SplBiApplyFlowRlDTO> toDTOList(List<SplBiApplyFlowRlVO> list) {
		List<SplBiApplyFlowRlDTO>  dtoList = new ArrayList<SplBiApplyFlowRlDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (SplBiApplyFlowRlVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
